home *** CD-ROM | disk | FTP | other *** search
- #include <exec/exec.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- void sr(char *s);
-
- struct OldMailHeader {
- char Status[1];
- long MsgNumb;
- char ToName[31],
- FromName[31],
- Subject[31];
- long MsgDate,
- Recv;
- char Pad;
- };
- struct MailHeader {
- char Status[1];
- long MsgNumb;
- long ActualMsgNumb;
- char ToName[31],
- FromName[31],
- Subject[31];
- char ToNet[8],FromNet[8];
- long MsgDate,
- Recv;
- long threaded;
- char Pad;
- };
-
- struct OldMailHeader OH;
- struct MailHeader MH;
- char oldname[200],newname[200];
- main(int argc,char *argv[])
- {
- FILE *fi,*fo;
- if(argc!=2)
- {
- printf("ConvMsg version 1.0, written by Joseph Hodge\n");
- printf("usage: ConvMsg <headername>\n");
- printf(" ie: ConvMsg bbs:confs/pd/msgbase/headerfile\n");
- printf("\n");
- exit(0);
- }
- strcpy(oldname,argv[1]);
- strcpy(newname,argv[1]);
- sr(oldname);
- sr(newname);
- strcat(oldname,".old");
- DeleteFile(oldname);
- if(Rename(newname,oldname))
- {
- fi=fopen(oldname,"rb");
- fo=fopen(newname,"wb");
- while(fread((APTR)&OH,sizeof(struct OldMailHeader),1,fi)!=NULL)
- {
- strcpy(MH.ToName,OH.ToName);
- strcpy(MH.FromName,OH.FromName);
- strcpy(MH.Subject,OH.Subject);
- MH.MsgNumb=OH.MsgNumb;
- MH.Status[0]=OH.Status[0];
- strcpy(MH.ToNet,"");
- strcpy(MH.FromNet,"");
- MH.MsgDate=OH.MsgDate;
- MH.Recv=OH.Recv;
- MH.threaded=0L;
- MH.Pad=OH.Pad;
- MH.ActualMsgNumb=OH.MsgNumb;
- fwrite((APTR)&MH,sizeof(struct MailHeader),1,fo);
- }
- fclose(fi);
- fclose(fo);
- }
- else
- {
- printf("Error, cannot locate msgbase\n");
- }
- exit(0);
- }
- void sr(char *s)
- {
- register int i;
- i=strlen(s)-1;
- while(i>-1)
- {
- if(*(s+i)<=32) *(s+i)='\0'; else break;
- i--;
- }
- }